Computer systems display a variety of windows into which users may input data, manipulate data or activate procedures. If running more than one application simultaneously, several windows may be displayed on the computer display, each window corresponding to an application. There may also be multiple windows for any one application. For example, if a user is entering text into a word processing program while also working in a spreadsheet program, there may be two windows open on the display. One of the windows is the word processing application window and the second window is the spreadsheet program window. If the user is additionally viewing a video on a media player application, there will be an additional window corresponding to the media player application. As the number of active applications increases, so does the number of windows that are displayed on the computer display.
A user who uses multiple applications simultaneously is often faced with a multitude of windows on the display causing a cluttered desktop leading to confusion and frustration from the clutter seen on the display. For example, there may be so many overlapping windows on the display that a user might have to waste time finding a desired window each time the user wishes to complete a task in a different application. To alleviate this problem, the user may minimize windows or quit applications altogether in order to decrease clutter (and the number of windows on the display). However, if windows are minimized, then the user no longer has immediate access to the corresponding application. If an action needs to be taken in a particular application in which the window has been minimized, the user must first locate the desired window and open the desired window after locating the window. This process is very time-consuming. Likewise, if the user quits the application altogether to clear desktop clutter, then the application is no longer active. In this case, the user must re-launch the application in order to complete the desired task and waste even more time. Also, if the application performs an ongoing function, that function is lost during the time the application was not active.
Typically, when an application window is minimized, a taskbar button may be displayed on a taskbar to indicate that the application is active. Although the taskbar button may indicate that the application is active, there is often only an icon or a name of the application in the taskbar button. Without additional information, the user would have to open the window to view the contents of the window. However, by opening and closing the window merely to check the contents of the window (e.g., to ascertain the identity of the window), the user wastes time and effort which causes a loss of efficiency and productivity. This problem is compounded when the number of active applications and number of windows increase as the user must open and close many windows to find the desired window.
Thus, there exists a need in the art for a system and method for providing convenient programmatic access to manipulating window or application thumbnails and expressing thumbnails in a manner to provide flexibility in the display of thumbnails and thumbnail content. Also, there is a need in the art for a programming interface and a method of implementing the programming interface to effectively manage and implement application windows and thumbnails and expressing the windows and thumbnails in a flexible fashion.